/*
Copyright 2024 ByteDance and/or its affiliates.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package xproto

// PacketMeta is the proto-struct between ebpf and golang
type PacketMeta struct {
	Ptr           uint64
	TimeStampNs   uint64
	PacketLength  uint32
	ExtendOffset  uint16
	BufferOffset  uint16
	CaptureLength uint16
	TracePosIndex uint16
	ExtendUserRet int32
	StackID       uint32
	Reserved      uint32
}

type PcapCaputre struct {
	Meta           PacketMeta
	PacketData     []byte
	UserExtendData []byte
}

const (
	PerfTableName  = "xcap_pcap_event"
	StackTableName = "xcap_stack"
)
